class Hospedagem < ActiveRecord::Base
  belongs_to :hospede
  belongs_to :funcionario
  belongs_to :quarto
  has_many :servicos, :through => :requisicaos
  has_many :requisicaos
  attr_accessible :data_encerramento, :aberta

  def status
  	if self.aberta
  		"Aberta"
  	else
      "Encerrada"
  	end
  end

  def duracao    
    drt = (self.data_encerramento.to_date - self.created_at.to_date).to_i
    if drt <= 0
      drt = 1 
    end
    return drt
  end

  def custo_total_servicos
    custo = 0
    self.requisicaos.each do |r|
      if r.estornado
        custo -= r.preco_unitario * r.qtd
      else
        custo += r.preco_unitario * r.qtd if not r.estornado
      end
    end

    return custo
  end

  def custo_total_diarias
    custo = 0
    if self.data_encerramento
      custo = quarto.tipo_quarto.preco_diaria * self.duracao
    end

    return custo
  end

  def custo_total
  	custo = self.custo_total_diarias + self.custo_total_servicos
    return custo
  end

  def self.abertas
    where("aberta = ?", true)
  end
end
